1. Field of the Invention
This invention relates to computer network performance assessment and, more particularly, to a system and method of automated measurement of computer and network performance characteristics concurrent with and not interfering with normal network operations.
2. Description of the Related Art
Network performance assessment is a valuable element in successful operation of time-critical applications running in a networked environment. Performance assessment is of particular importance when the operation of each node is dependent on timely receipt of information packets from other nodes. This situation often occurs, for example, in multiplayer games played over a network connection or a connectionless communication. Such games often require input from a number of players before the sequence of events simulated by the game may continue. For example, one player may attempt to shoot a second player by aiming a gun at him and firing. If the second player moves out of the way, he may avoid getting shot. Therefore, the game environment must receive information from both players, including the location targeted by the first player, as well as the particulars of the second player's movement, before it can be determined whether the second player is hit by the shot. Undue delay in receiving one or both of these pieces of information may diminish the entertainment value of the product by causing the entire game to slow down while waiting for information. Other players may in turn be affected by the delay. Thus, a single substandard connection may be detrimental to the enjoyment of the multiplayer game for some or all of the players involved. In some cases, excessive delay in communications with one or more nodes may cause the application to crash.
Currently known techniques for network performance are limited to obtrusive methods which interfere with normal network operations. For example, one conventional technique includes sending a ping packet from one network node to another, measuring the elapsed time before a response is received, and calculating an estimated network latency metric based on the perceived response time. This latency measurement technique conventionally requires that no other network communications occur among the nodes being tested. Therefore the performance assessment conventionally requires an interruption in user activity. In addition, such measurement may be inherently inaccurate, since it provides an indication of latency only for the particular moment during which the test is performed, without allowing for changes in latency over time.
Finally, the conventional technique does not take into account other network performance indicators and factors, such as bandwidth, CPU performance, minimum hardware requirements of nodes, and the presence of background or concurrent processes that may affect network performance.
Accordingly, it is desirable to accurately and unobtrusively measure network performance for each player in order to determine whether the player's computer hardware and network connection meet minimum requirements to assure an enjoyable gaming experience for all players. Such performance measurements are also useful in non-game environments in which time-critical information is needed from particular elements of the network. It is preferable to measure several different network performance metrics and to perform such measurements without affecting normal network operations. Finally, it is desired to measure network performance over a period of time so that trends and changes in conditions can be observed and predicted.